const express = require('express');
const app = express();
const cp = require('child_process') // 子进程
const p = require('process') // 进程模块
const cors = require('cors') // 处理跨域
const fs = require('fs')
const bodyParser = require('body-parser') // 用来解析请求参数的中间件

// 使用中间件
app.use(cors())
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())


app.get('/', (req, res)=>{
    res.send('welcome！')
})

app.get('/list', (req, res)=>{
    console.log(req.url);
    fs.readFile('./list.json', 'utf8', (err, data)=>{
        if(err) {
            console.log(err);
        }else {
            res.send(data)
        }
    })
})

app.post('/add', (req, res) => {
    // post请求携带的数据放在请求体中
    let newVal = req.body; // 用户新增的内容
    fs.readFile('./list.json', 'utf8', (err, data)=>{
        if(err) {
            console.log(err);
        }else {
            let val = {...JSON.parse(data)}; // 获取原来的值
            // console.log(22, val);
            val.list.push(newVal) // 新增数据
            fs.writeFile('./list.json', JSON.stringify(val), err => {
                if(err) {
                    throw err
                }else {
                    res.send('添加成功！')
                }
            })
        }
    })
})

app.listen(3000, ()=>{
    // 判断当前运行的平台,根据不同的平台，自动打开浏览器，开启一个子进程
    if(p.platform === 'win32') {
        cp.exec('start http://localhost:3000')
    }else {
        cp.exec('open http://localhost:3000')
    }
})
